function KKB.Panel_Damage(Panel)
	Panel_Damage = Panel
	Panel_Damage:SetSize(100, 400)
	Panel_Damage:Clear(true)
	Panel_Damage.contents = vgui.Create("DListLayout")
	Panel_Damage.contents:Clear()

	Panel_Damage:AddControl("Label", {Text = "Disable Specific Damage Types:"})
	
	local Damage_GenericCheck = vgui.Create("DCheckBoxLabel")
	Damage_GenericCheck:SetText("Generic")
	Damage_GenericCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_GenericCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Generic != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Generic" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_GenericCheck)
	
	local Damage_CrushCheck = vgui.Create("DCheckBoxLabel")
	Damage_CrushCheck:SetText("Crush")
	Damage_CrushCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_CrushCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Crush != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Crush" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_CrushCheck)
	
	local Damage_BulletCheck = vgui.Create("DCheckBoxLabel")
	Damage_BulletCheck:SetText("Bullet")
	Damage_BulletCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_BulletCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Bullet != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Bullet" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_BulletCheck)
	
	local Damage_SlashCheck = vgui.Create("DCheckBoxLabel")
	Damage_SlashCheck:SetText("Slash")
	Damage_SlashCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_SlashCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Slash != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Slash" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_SlashCheck)
	
	local Damage_BurnCheck = vgui.Create("DCheckBoxLabel")
	Damage_BurnCheck:SetText("Burn")
	Damage_BurnCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_BurnCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Burn != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Burn" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_BurnCheck)
	
	local Damage_VehicleCheck = vgui.Create("DCheckBoxLabel")
	Damage_VehicleCheck:SetText("Vehicle")
	Damage_VehicleCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_VehicleCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Vehicle != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Vehicle" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_VehicleCheck)
	
	local Damage_FallCheck = vgui.Create("DCheckBoxLabel")
	Damage_FallCheck:SetText("Fall")
	Damage_FallCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_FallCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Fall != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Fall" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_FallCheck)
	
	local Damage_BlastCheck = vgui.Create("DCheckBoxLabel")
	Damage_BlastCheck:SetText("Blast")
	Damage_BlastCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_BlastCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Blast != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Blast" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_BlastCheck)
	
	local Damage_ClubCheck = vgui.Create("DCheckBoxLabel")
	Damage_ClubCheck:SetText("Club")
	Damage_ClubCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_ClubCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Club != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Club" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_ClubCheck)
	
	local Damage_ShockCheck = vgui.Create("DCheckBoxLabel")
	Damage_ShockCheck:SetText("Shock")
	Damage_ShockCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_ShockCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Shock != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Shock" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_ShockCheck)
	
	local Damage_SonicCheck = vgui.Create("DCheckBoxLabel")
	Damage_SonicCheck:SetText("Sonic")
	Damage_SonicCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_SonicCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Sonic != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Sonic" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_SonicCheck)
	
	local Damage_EnergyBeamCheck = vgui.Create("DCheckBoxLabel")
	Damage_EnergyBeamCheck:SetText("EnergyBeam")
	Damage_EnergyBeamCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_EnergyBeamCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.EnergyBeam != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "EnergyBeam" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_EnergyBeamCheck)
	
	local Damage_PreventPhysicsForceCheck = vgui.Create("DCheckBoxLabel")
	Damage_PreventPhysicsForceCheck:SetText("PreventPhysicsForce")
	Damage_PreventPhysicsForceCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_PreventPhysicsForceCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.PreventPhysicsForce != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "PreventPhysicsForce" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_PreventPhysicsForceCheck)
	
	local Damage_NeverGibCheck = vgui.Create("DCheckBoxLabel")
	Damage_NeverGibCheck:SetText("NeverGib")
	Damage_NeverGibCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_NeverGibCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.NeverGib != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "NeverGib" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_NeverGibCheck)
	
	local Damage_AlwaysGibCheck = vgui.Create("DCheckBoxLabel")
	Damage_AlwaysGibCheck:SetText("AlwaysGib")
	Damage_AlwaysGibCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_AlwaysGibCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.AlwaysGib != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "AlwaysGib" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_AlwaysGibCheck)
	
	local Damage_DrownCheck = vgui.Create("DCheckBoxLabel")
	Damage_DrownCheck:SetText("Drown")
	Damage_DrownCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_DrownCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Drown != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Drown" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_DrownCheck)
	
	local Damage_ParalyzeCheck = vgui.Create("DCheckBoxLabel")
	Damage_ParalyzeCheck:SetText("Paralyze")
	Damage_ParalyzeCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_ParalyzeCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Paralyze != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Paralyze" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_ParalyzeCheck)
	
	local Damage_NerveGasCheck = vgui.Create("DCheckBoxLabel")
	Damage_NerveGasCheck:SetText("NerveGas")
	Damage_NerveGasCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_NerveGasCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.NerveGas != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "NerveGas" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_NerveGasCheck)
	
	local Damage_PoisonCheck = vgui.Create("DCheckBoxLabel")
	Damage_PoisonCheck:SetText("Poison")
	Damage_PoisonCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_PoisonCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Poison != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Poison" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_PoisonCheck)
	
	local Damage_RadiationCheck = vgui.Create("DCheckBoxLabel")
	Damage_RadiationCheck:SetText("Radiation")
	Damage_RadiationCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_RadiationCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Radiation != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Radiation" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_RadiationCheck)
	
	local Damage_DrownRecoverCheck = vgui.Create("DCheckBoxLabel")
	Damage_DrownRecoverCheck:SetText("DrownRecover")
	Damage_DrownRecoverCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_DrownRecoverCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.DrownRecover != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "DrownRecover" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_DrownRecoverCheck)
	
	local Damage_AcidCheck = vgui.Create("DCheckBoxLabel")
	Damage_AcidCheck:SetText("Acid")
	Damage_AcidCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_AcidCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Acid != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Acid" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_AcidCheck)
	
	local Damage_SlowBurnCheck = vgui.Create("DCheckBoxLabel")
	Damage_SlowBurnCheck:SetText("SlowBurn")
	Damage_SlowBurnCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_SlowBurnCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.SlowBurn != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "SlowBurn" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_SlowBurnCheck)
	
	local Damage_RemoveNoRagdollCheck = vgui.Create("DCheckBoxLabel")
	Damage_RemoveNoRagdollCheck:SetText("RemoveNoRagdoll")
	Damage_RemoveNoRagdollCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_RemoveNoRagdollCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.RemoveNoRagdoll != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "RemoveNoRagdoll" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_RemoveNoRagdollCheck)
	
	local Damage_PhysgunCheck = vgui.Create("DCheckBoxLabel")
	Damage_PhysgunCheck:SetText("Physgun")
	Damage_PhysgunCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_PhysgunCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Physgun != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Physgun" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_PhysgunCheck)
	
	local Damage_PlasmaCheck = vgui.Create("DCheckBoxLabel")
	Damage_PlasmaCheck:SetText("Plasma")
	Damage_PlasmaCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_PlasmaCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Plasma != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Plasma" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_PlasmaCheck)
	
	local Damage_AirboatCheck = vgui.Create("DCheckBoxLabel")
	Damage_AirboatCheck:SetText("Airboat")
	Damage_AirboatCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_AirboatCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Airboat != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Airboat" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_AirboatCheck)
	
	local Damage_DissolveCheck = vgui.Create("DCheckBoxLabel")
	Damage_DissolveCheck:SetText("Dissolve")
	Damage_DissolveCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_DissolveCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Dissolve != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Dissolve" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_DissolveCheck)
	
	local Damage_BlastSurfaceCheck = vgui.Create("DCheckBoxLabel")
	Damage_BlastSurfaceCheck:SetText("BlastSurface")
	Damage_BlastSurfaceCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_BlastSurfaceCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.BlastSurface != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "BlastSurface" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_BlastSurfaceCheck)
	
	local Damage_DirectCheck = vgui.Create("DCheckBoxLabel")
	Damage_DirectCheck:SetText("Direct")
	Damage_DirectCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_DirectCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Direct != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Direct" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_DirectCheck)
	
	local Damage_BuckshotCheck = vgui.Create("DCheckBoxLabel")
	Damage_BuckshotCheck:SetText("Buckshot")
	Damage_BuckshotCheck:SetTextColor( Color(0, 0, 0, 255) )
	Damage_BuckshotCheck.OnChange = function( _, fVal )
		if ( KKB.Damage.Buckshot != fVal ) then
			net.Start( "KKB_Damage_Change" )
			net.WriteString( "Buckshot" )
			net.WriteUInt( KKB.BoolToInt(fVal), 32 )
			net.SendToServer()
		end
	end
	Panel_Damage:AddPanel(Damage_BuckshotCheck)
	
	function KKB.Damage_Reload_Damage()
		Damage_GenericCheck:SetValue(KKB.Damage.Generic)
		Damage_CrushCheck:SetValue(KKB.Damage.Crush)
		Damage_BulletCheck:SetValue(KKB.Damage.Bullet)
		Damage_SlashCheck:SetValue(KKB.Damage.Slash)
		Damage_BurnCheck:SetValue(KKB.Damage.Burn)
		Damage_VehicleCheck:SetValue(KKB.Damage.Vehicle)
		Damage_FallCheck:SetValue(KKB.Damage.Fall)
		Damage_BlastCheck:SetValue(KKB.Damage.Blast)
		Damage_ClubCheck:SetValue(KKB.Damage.Club)
		Damage_ShockCheck:SetValue(KKB.Damage.Shock)
		Damage_SonicCheck:SetValue(KKB.Damage.Sonic)
		Damage_EnergyBeamCheck:SetValue(KKB.Damage.EnergyBeam)
		Damage_PreventPhysicsForceCheck:SetValue(KKB.Damage.PreventPhysicsForce)
		Damage_NeverGibCheck:SetValue(KKB.Damage.NeverGib)
		Damage_AlwaysGibCheck:SetValue(KKB.Damage.AlwaysGib)
		Damage_DrownCheck:SetValue(KKB.Damage.Drown)
		Damage_ParalyzeCheck:SetValue(KKB.Damage.Paralyze)
		Damage_NerveGasCheck:SetValue(KKB.Damage.NerveGas)
		Damage_PoisonCheck:SetValue(KKB.Damage.Poison)
		Damage_RadiationCheck:SetValue(KKB.Damage.Radiation)
		Damage_DrownRecoverCheck:SetValue(KKB.Damage.DrownRecover)
		Damage_AcidCheck:SetValue(KKB.Damage.Acid)
		Damage_SlowBurnCheck:SetValue(KKB.Damage.SlowBurn)
		Damage_RemoveNoRagdollCheck:SetValue(KKB.Damage.RemoveNoRagdoll)
		Damage_PhysgunCheck:SetValue(KKB.Damage.Physgun)
		Damage_PlasmaCheck:SetValue(KKB.Damage.Plasma)
		Damage_AirboatCheck:SetValue(KKB.Damage.Airboat)
		Damage_DissolveCheck:SetValue(KKB.Damage.Dissolve)
		Damage_BlastSurfaceCheck:SetValue(KKB.Damage.BlastSurface)
		Damage_DirectCheck:SetValue(KKB.Damage.Direct)
		Damage_BuckshotCheck:SetValue(KKB.Damage.Buckshot)
	end
	KKB.Damage_Reload_Damage()
end